package com.ioftv.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ioftv.entity.ExcellentLabeler;

import java.util.List;

/**
 * 优秀标注员Service接口
 */
public interface ExcellentLabelerService extends IService<ExcellentLabeler> {
    
    /**
     * 获取排名列表
     * @param year 年份
     * @param month 月份
     * @param limit 限制数量
     * @return 优秀标注员列表
     */
    List<ExcellentLabeler> getRanking(Integer year, Integer month, Integer limit);
    
    /**
     * 根据用户ID获取排名列表
     * @param year 年份
     * @param month 月份
     * @param limit 限制数量
     * @param userId 用户ID
     * @return 优秀标注员列表
     */
    List<ExcellentLabeler> getRankingByUserId(Integer year, Integer month, Integer limit, Long userId);
    
    /**
     * 刷新排名
     * @param year 年份
     * @param month 月份
     * @return 是否刷新成功
     */
    boolean refreshRanking(Integer year, Integer month);
    
    /**
     * 根据用户ID刷新排名
     * @param year 年份
     * @param month 月份
     * @param userId 用户ID
     * @return 是否刷新成功
     */
    boolean refreshRankingByUserId(Integer year, Integer month, Long userId);
}